package com.zpark.merchant.api.service;

import com.zpark.jushanpay.common.domain.BusinessException;
import com.zpark.merchant.api.dto.AppDTO;

import java.util.List;

/**
 * 应用业务层接口类
 */
public interface IAppService {

    /**
     * 创建应用
     * @param merchantId 商户ID
     * @param dto 应用dto对象
     * @return 创建好的应用对象
     * @throws BusinessException
     */
    AppDTO createApp(Long merchantId, AppDTO dto) throws BusinessException;

    /**
     * 根据商户的ID查询商户的所有应用
     * @param merchantId 商户的ID
     * @return
     * @throws BusinessException
     */
    List<AppDTO> queryByMerchantId(Long merchantId) throws BusinessException;

    /**
     * 根据应用的ID查询应用数据
     * @param appId 应用的appId
     * @return
     * @throws BusinessException
     */
    AppDTO queryByAppId(String appId) throws BusinessException;

    /**
     * 根据应用id和商户id校验门店的合法性
     * @param appId 应用appid
     * @param merchantId 商户id
     * @return
     */
    Boolean queryAppInMerchant(String appId, Long merchantId);
}
